Table 278 - GET DATA BUFFER STATUS command
=============================================================================== | Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |Byte | | | | | | | | | |=============================================================================| | 0 | Operation code (34h) | |-----------------------------------------------------------------------------| | 1 | Logical unit number | Reserved | Wait | |-----------------------------------------------------------------------------| | 2 | Reserved | |-----------------------------------------------------------------------------| | 3 | Reserved | |-----------------------------------------------------------------------------| | 4 | Reserved | |-----------------------------------------------------------------------------| | 5 | Reserved | |-----------------------------------------------------------------------------| | 6 | Reserved | |-----------------------------------------------------------------------------| | 7 | (MSB) | |--------- Allocation length ---| | 8 | (LSB) | |-----------------------------------------------------------------------------| | 9 | Control | ===============================================================================A wait bit of zero indicates that the target shall respond immediately. A wait bit of one indicates that the target shall wait for image data to be available before returning scan status data.
The data buffer status data format is defined in table 279.
Table 279 - Data buffer status format
=============================================================================== | Bit| 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |Byte | | | | | | | | | |=============================================================================| | 0 | (MSB) | |--------- ---| | 1 | Data buffer status length | |--------- ---| | 2 | (LSB) | |-----------------------------------------------------------------------------| | 3 | Reserved | Block | |=============================================================================| | | Data buffer status descriptor(s) | |=============================================================================| | 0 | Window identifier | |-----------------------------------------------------------------------------| | 1 | Reserved | |-----------------------------------------------------------------------------| | 2 | (MSB) | |--------- ---| | 3 | Available data buffer | |--------- ---| | 4 | (LSB) | |-----------------------------------------------------------------------------| | 5 | (MSB) | |--------- ---| | 6 | Filled data buffer | |--------- ---| | 7 | (LSB) | ===============================================================================The data buffer status length indicates the length, in bytes, of the following scan status data that is available to be transferred during the DATA IN phase. The data buffer status length does not include itself. The data buffer status data transferred to the initiator includes zero or more data buffer status descriptors. Each descriptor returns information for the window specified by the window identifier.
The block bit specifies the buffering capabilities of the scanner. A block bit of one indicates that the data buffer is full and all image data must be transferred to the initiator before the scan operation resumes. A block bit of zero indicates that the data buffer is not full and scan operations can continue with the available data buffer space.
The available data buffer field indicates, in bytes, the amount of buffer available for transfers from the initiator. This field is valid only in scanners with the ability to accept data from an initiator for processing.
The filled data buffer field indicates the amount of image data in bytes available for transfer to the initiator.